/*
 * MDI.java
 *
 * Created on 11 de enero de 2005, 17:33
 */

package demo;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.beans.PropertyVetoException;

public class MDI extends javax.swing.JFrame {
    /**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
    private JDesktopPane desktop;
    private JMenuItem menuNuevo;
    private JMenuItem menuSalir;	
         
    public MDI() {
    	int inset = 120;
        configurarMenu();
        iniComponentes();
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        setBounds(inset, inset, screenSize.width - inset*2, 
                                screenSize.height - inset*2); 
    }

    public JDesktopPane getDesktop() { return this.desktop; }
    
    private void configurarMenu() {
        JMenuBar menuBar = new JMenuBar();
	    setJMenuBar(menuBar);
        
        JMenu menuArchivo = new JMenu();
        menuArchivo.setText("Archivo");
	    menuBar.add(menuArchivo);

        menuNuevo = new JMenuItem();
	    menuNuevo.setText("Nuevo");
	    menuNuevo.addActionListener(new ActionListener() {
	        public void actionPerformed(ActionEvent evt) {
	            nuevo(evt);
	        }
	    });
	    menuArchivo.add(menuNuevo);
	    
	    menuArchivo.add(new JSeparator());
	    
        menuSalir = new JMenuItem();
	    menuSalir.setText("Salir");
	    menuSalir.addActionListener(new ActionListener() {
	        public void actionPerformed(ActionEvent evt) {
	        	System.exit(0);
	        }
	    });
	    menuArchivo.add(menuSalir);
    }

    private void iniComponentes() {
        setTitle("MDI");
	    setName("MDIFrame");
	    
	    desktop = new JDesktopPane();
	    getContentPane().add(desktop, BorderLayout.CENTER);
	    
	    addWindowListener(new WindowAdapter() {
	        public void windowClosing(WindowEvent evt) {
	        	System.exit(0);
	        }
	    });
    }
    
    private void nuevo(ActionEvent evt) {
        MDIChild frm = new MDIChild(this);
        frm.setTitle("Nuevo " + MDIChild.inset);
        frm.setVisible(true);
        desktop.add(frm);
        try {
			frm.setSelected(true);
		} catch (PropertyVetoException e) {	}
     }
 }
